home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Franz PD
/
Franz PD Disk #116 (1991-03)(Amiga User Group Deutschland e.V.).zip
/
Franz PD Disk #116 (1991-03)(Amiga User Group Deutschland e.V.).adf
/
G-ALERT
/
SOURCE.S
< prev
next >
Wrap
Text File
|
1989-07-03
|
3KB
|
190 lines
execbase = 4
openlib = -552
closelib = -414
displayalert = -090
allocmem = -198
freemem = -210
getmsg = -372
waitport = -384
findtask = -294
replymsg = -378
;
movem.l d1-d7/a0-a6,-(a7)
move.l execbase,a6
move.l #0,a1
jsr findtask(a6)
move.l d0,a2
move.l #0,starts
tst.l $ac(a2)
bne fromcli
lea $5c(a2),a0
jsr waitport(a6)
lea $5c(a2),a0
jsr getmsg(a6)
move.l d0,starts
fromcli:
bsr openint
beq ende1
bsr memorye
beq ende2
bsr makealert
;
move.l intbase,a6
moveq #0,d0
move.l alert,a0
lea gfx+4,a1
move.l (a1),d1
mulu #2,d1
add.l #11,d1
jsr displayalert(a6)
;
bsr memorya
ende2:
bsr closeint
ende1:
moveq #0,d0
cmp.l #0,starts
beq nowb
move.l execbase,a6
move.l starts,a1
jsr replymsg(a6)
moveq #2,d0
nowb:
movem.l (a7)+,d1-d7/a0-a6
rts
;
openint:
move.l execbase,a6
lea intname,a1
moveq #0,d0
jsr openlib(a6)
move.l d0,intbase
rts
;
memorye:
lea gfx+12,a0
moveq #0,d0
loop1:
move.b (a0)+,d1
cmp.b #"1",d1
bne keins
add.l #6,d0
keins:
cmp.b #0,d1
bne loop1
mulu #2,d0
add.l #atexe-atexa,d0
move.l d0,size
moveq #3,d1
move.l execbase,a6
jsr allocmem(a6)
move.l d0,alert
rts
;
memorya:
move.l execbase,a6
move.l alert,a1
move.l size,d0
jsr freemem(a6)
rts
;
closeint:
move.l execbase,a6
move.l intbase,a1
jsr closelib(a6)
rts
;
makealert:
move.l alert,a5
lea gfx,a4
move.l (a4)+,d2
move.l (a4)+,d3
move.l (a4)+,d6
sub.l #1,d2
sub.l #1,d3
move.l d2,d5
moveq #6,d1
loop2:
move.l d5,d2
move.l d6,d0
loop3:
move.b (a4)+,d4
cmp.b #" ",d4
beq schit
move d0,(a5)+
move.b d1,(a5)+
move.b #".",(a5)+
move #1,(a5)+
schit:
add.l #2,d0
dbra d2,loop3
add.l #2,d1
dbra d3,loop2
lea gfx,a4
move.l (a4)+,d2
move.l (a4)+,d3
move.l (a4)+,d6
sub.l #1,d2
sub.l #1,d3
move.l d2,d5
moveq #6,d1
loop4:
move.l d5,d2
move.l d6,d0
add.l #540,d0
loop5:
move.b (a4)+,d4
cmp.b #" ",d4
beq schit2
move d0,(a5)+
move.b d1,(a5)+
move.b #".",(a5)+
move #1,(a5)+
schit2:
add.l #2,d0
dbra d2,loop5
add.l #2,d1
dbra d3,loop4
lea atexa,a4
move.l #atexe-atexa-1,d0
copy:
move.b (a4)+,(a5)+
dbra d0,copy
rts
;
starts: dc.l 0
size: dc.l 0
alert: dc.l 0
intbase: dc.l 0
intname: dc.b "intuition.library",0
;
gfx:
dc.l 27,18,20 ; < X-SIZE >,< Y-SIZE >,< X-KORD >
dc.b " 111111 111111 "
dc.b " 1111111111 111 1111 "
dc.b " 111111111111 11111 1111 "
dc.b " 111111111111 1111111 111 "
dc.b "1111111111111111111111 111"
dc.b "1111111111111111111111 111"
dc.b "1111111111111111111111 111"
dc.b "1111111111111111111111 111"
dc.b "111111111111111111111 1111"
dc.b " 11111111111111111111 111 "
dc.b " 1111111111111111111 1111 "
dc.b " 111111111111111111 1111 "
dc.b " 111111111111111111111 "
dc.b " 1111111111111111111 "
dc.b " 111111111111111 "
dc.b " 11111111111 "
dc.b " 1111111 "
dc.b " 111 "
dc.b 0
atexa:
dc.b 0,218,20,"If you love multitasking ,",0,1
dc.b 0,202,28,"please don´t use the DMA´s ...",0,1
dc.b 2,40,36,".",0,1,2,42,36,".",0,1,2,44,36,".",0,1
dc.b 2,46,36,".",0,1,2,48,36,".",0,1,2,50,36,".",0,1
dc.b 2,42,38,".",0,1,2,42,40,".",0,1,2,50,38,".",0,1
dc.b 2,48,40,".",0,1,2,46,40,".",0,0,2,44,36,".",0,1
atexe: